package com.one.group.admin.config;

import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.security.SecurityRequirement;
import io.swagger.v3.oas.models.security.SecurityScheme;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * {@code @Create:}  2025-09-28  14 : 55
 * {@code @Author:} Cherry
 * {@code @ToUser:} 凡是发生,皆有利于我。
 * ------------------------------------
 * {@code @note:}
 */
@Configuration
@SuppressWarnings("all")
public class SwaggerConfig {
    /*
    配置swagger基本信息
     */
    @Bean
    public OpenAPI swaggerOpenApi() {
        return new OpenAPI()
                .info(new Info().title("智慧物业后台运营平台接口文档")
                        .description("智慧物业后台运营平台接口文档")
                        .version("v1.0"))
                // 配置普通 Token
                .schemaRequirement("TokenAuth", new SecurityScheme()
                        .type(SecurityScheme.Type.APIKEY)   // 使用 APIKEY 方式
                        .in(SecurityScheme.In.HEADER)      // Token 放在请求头
                        .name("token")             // 请求头名称（如 "Authorization"）
                )
                // 全局启用 Token 认证（所有接口默认需要 Token）
                .addSecurityItem(new SecurityRequirement().addList("TokenAuth"));
    }

}
